Wow, you guys don't understand the law as it applies to public vs. private businesses, do you?
If your business is open to the public - does not require membership, etc - it is illegal to refuse service to a customer based on race or gender. Everything else is pretty much open territory. You can refuse to serve someone because of their clothing, their method of payment, the way they smell, their height (based on safety requirements), their credit rating - in short, you can refuse service based on pretty much anything a person can control about themselves. You can't refuse service just because of who they are. This seems very, very American to me - we believe that we are all born equal, and then it's up to us whether we turn into the sort of person that would be a good customer.
Perhaps this is an infringement of your right as a shopkeeper to be a jackass, but there are still many, many ways that you can express your jackassedness.
Again, in absolute theory, I suppose Rand Paul has a point. We do not live in an absolutely theoretical world, however.