If you buy petrol and or groceries from somewhere like Tesco the terminal will send a four digit Mastercard merchant code signifying the transaction type, and an abbreviated merchant name and location.
Where it is a large supermarket that will clearly indicate that it is groceries or fuel depending if you purchase in the store or the forecourt, however at a smaller Tesco with mini-supermarket and fuel they may be configured differently, and also one transaction is more likely to include both fuel and groceries (though these stores have a suprisingly high ratio of grocery only / no fuel purchases) so at some locations it may come up as groceries and in others fuel.
This is when the merchant name comes into play instead of the transaction type code.
Where the problem lies is I have seen some users transaction data where the original Mastercard data code does indicate a petrol station but it categorised by Monzo as groceries. I feel all purchases should be categorised as per the original Mastercard merchant name and code (not just one or the other), unless you as a user have previously recoded it into a different category in which case it should copy that.