It seems we are dragging around the following Map<String, List<Mapping>>, were the key identifies a target name and the list of mappings is associated with that target.
However: the only place were we seem to use that is in the 'old-style' enum mapping (before @ValueMapping). Goal of this issue is to get rid of this relict. It will make the code a whole lot easier to understand.