Currently Drill uses 2.5.0 protocol-buffers version.
The last version is 3.6.0 in maven repo: https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java
The new version has a lot of useful enhancements, which can be used in Drill.
One of them is using UNRECOGNIZED Enum NullValue, which can help to handle them in place of null values for ProtocolMessageEnum -
Looks like the NullValue can be used instead of null returned from valueOf() (or forNumber(), since valueOf() is deprecated in the newer protobuf version):