Because callback doesn't have any string parameters it would be an easy thing to do.
I've made an EnumDevicesBySemantics version using A -> W calls, but it turned out to be trickier than I thought because the callback function is passed the device interfaces and then the A callback gets W interfaces. I'll send the patches with corrections later today but I really think the implementation for EnumDevicesBySemantics should remain separate right now.