Enum is list of the constants. That being said, you as developer determine where to use it. Usually months, days of the week, access types are common enums. For instance your example about dog. The one thing came to my mind is paw as enum, when you ask dog for its paw,and you reward him. For instance in your Dog class:
public enum Paw{ RIGHTFRONT,LEFTFRONT,RIGHTRARE,LEFTRARE }
public Dog(Paw paw){
this.paw=paw;
}
public void rewardDog(){
switch(paw){
case RIGHTFRONT: giveFood();
break;
case LEFTFRONT: giveWater();
break;
};
etc.
Then in your activity:
Dog mDog=new Dog(Paw.RIGHTFRONT);
mDog.rewardDog();
In case of UserType, consider it's as some kind of restrictions toward different user type. For instance when you load icons for the users, you can define that if usertype==Admin, then on icon there will be a crown, if usertype==Registered, there will be a star overlain on the main pic. Or admin has access to edit posts, comments; but guests and registered ones don't have that access.