If XMLLoader is used to build SolrInputDocuments Enum values are treated as String values and not as EnumFieldValue like it is done by the binary codec.
So the doRemove call of AtomicUpdateDocumentMerger will get String values which does not match any EnumFieldValue from the existingField values.
The behaviour can be tested easily with the EmbeddedSolrServer because it uses the XML codec to convert the SolrRequest.
Just create a multivalued EnumField add some values and try to remove some with
atomic update calls.
The values will remain unchanged.