One of the worst laws we have. If it's a crime, it's a crime. If it's not a crime, it's not a crime. Setting up "special punishment" depending on whom the crime occurred to is wrong.
I used to believe this as well but I've actually had a change of opinion.
I think there is value to a society saying they won't tolerate any of its members being singled out for acts of violence simply because of who they are. So in essence I do believe it is a different crime if I were to punch someone in a bar over an argument vs going out and looking for someone to punch because of their race, ethnicity or sexual orientation.
Problem often comes with implementation and interpretation but in my opinion the idea is a very good one. In my view this is precisely governments role. That is to keep order and protect all of its citizens by fostering a safe and productive society.