> let's make it illegal for companies to discriminate against individuals

What does that even mean though? You can't discriminate against anyone for any reason whatsoever? What if they have terrible hygiene? Insult everyone around them? A company can't discriminate against candidates who don't have the requisite job skills? They can't fire someone who subtly undermines or plots or otherwise plays politics? Isn't that anti-meritocracy?

Protected classes are (mostly) "what someone is" - that's why they're "protected". The stuff I listed above is "what someone does" and depending on context it's totally valid to use it as a reason for discrimination.

> Now consider how that applies to a white supremacist

White supremacy isn't a religion.

> Why is it OK to discriminate against people that think the white race is superior

How did anyone find out that this person is a white supremacist though? They probably said or did something, right? Seems like discrimination due to actions, not beliefs, to me. As a businessperson would you trust an employee who openly proclaims such beliefs to treat all their co-workers or your customers with equal respect? At the very least, I'd question their judgement in other matters, because they fell for such an idiotic and backward ideology and then talked about it. As a citizen, would you trust a government official who espoused such views to treat everyone they deal with equally?

> not to discriminate against people that think they're gods chosen people?

Because it's a religious belief (I understand that's a tautology - "it's illegal because it's illegal"). Nevertheless if your employee goes beyond belief into action - discriminates against a colleague or customer - you have grounds to fire them.

> What do we do when a religion thinks it's OK to discriminate against gay people?

Side with the party being discriminated against in that case. It's also not OK for a gay person to discriminate against someone based on religion.

> Some people switch based on mood

Not at all. Some people have different gender identities at different times. That's still part of their gender identity. Calling it "based on mood" makes it seem capricious and arbitrary. But if it was really so then wouldn't they choose not to do it so they could fit into what society generally expects - being cisgendered. Most people want a hassle-free life and don't want to be discriminated against.

> And as a social construct it can change based on societal expectations and roles.

This is a meaningless statement. "I'm female/genderfluid but I'm expected to act male in my society due to my body so I'll do that to fit in." is pretty oppressive. That same person may be able to live their true identity in a more free society. Voila gender changed due to "societal expectations", but the fault really was of society. It wasn't the individual's choice to hide their identity in the more repressive society.

> a willing participant in wars of aggression

People join the military out of a sense of patriotism, to get an education, to escape poverty, or travel and see the world. They don't decide to start wars of aggression, the politicians do that. It's also bad national policy (in terms of self-preservation) to allow discrimination based on veteran status, because that will discourage people from serving in future. Regardless of one's feelings about individual conflicts, most nations today can't do without a military and you have to treat service members well after they have served.