enum refactoring