I've seen "convenience fees" for credit card usage a few times, specifically when renewing car registration or paying parking tickets online. But there, credit card payment was the only option.
As for enforcement for B&M shops, I think it all comes down to wording and appearances. Card companies will accept a gas stations offering a cash discount because that isn't being portrayed as a card tax (negative connotation).
When gas stations advertise $3.69 in giant numbers over the highway, and only when you pull off the highway and into the station do you see $3.79 for credit card or $3.89/$3.99 for plus/premium, I do view that as a card tax. Maybe the CC companies don't, but as a consumer, that's how it feels.
Is it something in the wording?