PARQUET-1730: Use switch Statement in AvroIndexedRecordConverter for Enums (#718)

diff --git a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
index 4bbf58a..aba562f 100644
--- a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
+++ b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
@@ -150,35 +150,38 @@
     ParentValueContainer parent = ParentValueContainer
         .getConversionContainer(setter, conversion, schema);
 
-    if (schema.getType().equals(Schema.Type.BOOLEAN)) {
-      return new AvroConverters.FieldBooleanConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.INT)) {
-      return new AvroConverters.FieldIntegerConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.LONG)) {
-      return new AvroConverters.FieldLongConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.FLOAT)) {
-      return new AvroConverters.FieldFloatConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.DOUBLE)) {
-      return new AvroConverters.FieldDoubleConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.BYTES)) {
-      return new AvroConverters.FieldByteBufferConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.STRING)) {
-      return new AvroConverters.FieldStringConverter(parent);
-    } else if (schema.getType().equals(Schema.Type.RECORD)) {
-      return new AvroIndexedRecordConverter(parent, type.asGroupType(), schema, model);
-    } else if (schema.getType().equals(Schema.Type.ENUM)) {
-      return new FieldEnumConverter(parent, schema, model);
-    } else if (schema.getType().equals(Schema.Type.ARRAY)) {
+    switch (schema.getType()) {
+    case ARRAY:
       return new AvroArrayConverter(parent, type.asGroupType(), schema, model);
-    } else if (schema.getType().equals(Schema.Type.MAP)) {
-      return new MapConverter(parent, type.asGroupType(), schema, model);
-    } else if (schema.getType().equals(Schema.Type.UNION)) {
-      return new AvroUnionConverter(parent, type, schema, model);
-    } else if (schema.getType().equals(Schema.Type.FIXED)) {
+    case BOOLEAN:
+      return new AvroConverters.FieldBooleanConverter(parent);
+    case BYTES:
+      return new AvroConverters.FieldByteBufferConverter(parent);
+    case DOUBLE:
+      return new AvroConverters.FieldDoubleConverter(parent);
+    case ENUM:
+      return new FieldEnumConverter(parent, schema, model);
+    case FIXED:
       return new FieldFixedConverter(parent, schema, model);
+    case FLOAT:
+      return new AvroConverters.FieldFloatConverter(parent);
+    case INT:
+      return new AvroConverters.FieldIntegerConverter(parent);
+    case LONG:
+      return new AvroConverters.FieldLongConverter(parent);
+    case MAP:
+      return new MapConverter(parent, type.asGroupType(), schema, model);
+    case RECORD:
+      return new AvroIndexedRecordConverter(parent, type.asGroupType(), schema, model);
+    case STRING:
+      return new AvroConverters.FieldStringConverter(parent);
+    case UNION:
+      return new AvroUnionConverter(parent, type, schema, model);
+    case NULL: // fall through
+    default:
+      throw new UnsupportedOperationException(String.format("Cannot convert Avro type: %s" +
+          " (Parquet type: %s) ", schema, type));
     }
-    throw new UnsupportedOperationException(String.format("Cannot convert Avro type: %s" +
-        " (Parquet type: %s) ", schema, type));
   }
 
   private void set(int index, Object value) {