Enforce GPBFieldHasEnumDescriptor always being set.

Going back to the first ObjC support commit, there never really was support for
not have the EnumDescriptors, so start removing that partial support.

PiperOrigin-RevId: 488381501
diff --git a/objectivec/GPBDescriptor.m b/objectivec/GPBDescriptor.m
index bdfd1df..1b75f8e 100644
--- a/objectivec/GPBDescriptor.m
+++ b/objectivec/GPBDescriptor.m
@@ -443,16 +443,12 @@
   Class msgClass_;
 
   // Enum ivars.
-  // If protos are generated with GenerateEnumDescriptors on then it will
-  // be a enumDescriptor, otherwise it will be a enumVerifier.
-  union {
-    GPBEnumDescriptor *enumDescriptor_;
-    GPBEnumValidationFunc enumVerifier_;
-  } enumHandling_;
+  GPBEnumDescriptor *enumDescriptor_;
 }
 
 @synthesize msgClass = msgClass_;
 @synthesize containingOneof = containingOneof_;
+@synthesize enumDescriptor = enumDescriptor_;
 
 - (instancetype)initWithFieldDescription:(void *)description
                          includesDefault:(BOOL)includesDefault
@@ -518,11 +514,9 @@
         NSAssert(msgClass_, @"Class %s not defined", className);
       }
     } else if (dataType == GPBDataTypeEnum) {
-      if ((coreDesc->flags & GPBFieldHasEnumDescriptor) != 0) {
-        enumHandling_.enumDescriptor_ = coreDesc->dataTypeSpecific.enumDescFunc();
-      } else {
-        enumHandling_.enumVerifier_ = coreDesc->dataTypeSpecific.enumVerifier;
-      }
+      NSAssert((coreDesc->flags & GPBFieldHasEnumDescriptor) != 0,
+               @"Field must have GPBFieldHasEnumDescriptor set");
+      enumDescriptor_ = coreDesc->dataTypeSpecific.enumDescFunc();
     }
 
     // Non map<>/repeated fields can have defaults in proto2 syntax.
@@ -626,19 +620,7 @@
 
 - (BOOL)isValidEnumValue:(int32_t)value {
   NSAssert(description_->dataType == GPBDataTypeEnum, @"Field Must be of type GPBDataTypeEnum");
-  if (description_->flags & GPBFieldHasEnumDescriptor) {
-    return enumHandling_.enumDescriptor_.enumVerifier(value);
-  } else {
-    return enumHandling_.enumVerifier_(value);
-  }
-}
-
-- (GPBEnumDescriptor *)enumDescriptor {
-  if (description_->flags & GPBFieldHasEnumDescriptor) {
-    return enumHandling_.enumDescriptor_;
-  } else {
-    return nil;
-  }
+  return enumDescriptor_.enumVerifier(value);
 }
 
 - (GPBGenericValue)defaultValue {