add enum mixin and define each method for model