enums refactor