重构枚举