generates an enum class