Help with blueprint Map foreach

I’m having some trouble with a Map property in Blueprints.
I’ve got a mapping of Custom Enum → Class values, which looks like this:


In my Event Graph, I call Event BeginPlay which calls my Set Items function.
Set Items looks like this:

I’m just looping through each enum value in my map, making sure there’s a valid class bound to it, then calling Set Item. Set Item instantiates a copy of that class, and attaches it to a particular socket based on the enum.

All of this works as expected.

My problem is that I can’t seem to override my mappings on a per-instance basis.
I’ve created an instance of my blueprint class in my level, and changed it’s Map to look like this:

However, when this runs instead of instantiating the shield on the back side, it falls back to the class-level default of the sword.
Does anyone have any idea why my overrides aren’t working?