moved generator functions into Enum.Gen