renamed Enum into Gen (for "generator"), and updated code and test to reflect so