Hello,
Current limitation of the MapCodec is that it only manages Map<K,V> with K being necessarily String.
It could be quite easy and useful to extend this to Enums in a first step, and to any type that can be serialized/deserialized to/from String.
An idea to be able to manage any type as a map's key is to introduce a kind of "key codec" interface that defines how should a certain type be encoded/decoded if it appears as a map's key. It could even be a converter rather than a general codec since we know that the target type is necessarily String.
Cheers
Farid