Add an extra check to enforce that an EnumMarshaller actually produces an Enum
ISPN-3480 Use protoparser lib instead of relying on binary descriptors generated by protoc