I completely agree for deserialization. This is up to the application in my opinion. Otherwise it lead to a custom schema structure for enum wich is not easy to query.
But for serialzation, I strongly think that the Java driver is not well developped since it makes a lot of static calls without letting the user have any control over how objects are serialized. In my example, I would have liked something like this:
Mongo driver = new ...
and this method call would modify the encoder behavior and also the serializer behavior.