EnumMapper with cache