Added generation of module for enum types
Merge branch 'generate_constructors_and_modules' into for_third_party