Private business should be able to kick you out for any reason.
If a restaurant asks you to leave for being gay I'll get up and leave too. So will others. This will hurt their business. They will then go under or change policy.
The free market corrects these problems far more effectively and quickly than forcing a private business to associate with people they don't want to.
Also the cake decision was correct.
But what if multiple local businesses all decide to tell you to leave? What if the markets in the "free market" all decide to discriminate locally? Should a person have to drive out of their way to enjoy a meal due to one aspect?
Like i see your point but that is dependent on the majority of people / other businesses being outraged and not prejudiced to counteract one bad apple.