Issue #1470: Model loader changes so that the model for Java enum values get an anonymous class type, and the model for the enum class gets cases of the enum elements.
Issue #1470: Fix annotation interop now that a java enum value is an anonymous case of a enumerated class.
A java enum value cannot be null, so don't set its uncheckedNulls flag
Issue #1470: When we have a switch over java enum values, use a java switch instead of if/else if chaining.
Issue #1470: Tests.