You can use indexes on columns like OrderStatus that have a small number of values. Hopefully 99% of your orders are completed, but if you need to check the sub-1% of orders that have status of HOLD, ERROR, INQUEUE, PROCESSING, you want to use an index.
You can have an index with highly selective values and low-selectivity values. Don't generalize, know your selectivity!
I had a client that needed to work on orders that were status=QUEUE. The order status index worked great even though it would have hindered a search on status=COMPLETED. The searches that would return less than 1% of the rows used the index.
Bill Twomey
Microsoft SQL DBA