enums corrected to classes with private constructors