Place the __UNDEFINED__ enum value at the end so it does not affect ordinal()

@loganj 

Previously the `__UNDEFINED__` value appeared at the beginning of the list of enum values. However, it's not uncommon for client code to call ordinal() on an enum and serialize/deserialize the resulting value. That means that the previous addition of `__UNDEFINED__` could amount to a breaking change for such code.