Slightly wrong. In case of VISA, MCC code is decided based on the industry the merchant gives to payment processor and acquirer bank to whom they belong to.
In case of Mastercard, Mastercard decides the merchant's industry, not the other way around.
Unfortunately for us, swiggy card is a Mastercard 🙂 Hence why I usually stay away from Mastercard.
And, banks do have the authority to decide which merchants can be allowed for offers within the sub category of a specific mcc.
Even my brother will be applying for Infinia card and nowadays infinia comes with Mastercard too, but I will clearly tell HDFC to issue the card on visa, not Mastercard.