Usually on a "status" field doing a few partial indexes gets you the best result. The more statuses you need to be concerned about the more likely just scanning the table is going to win out in performance. But if you do only care about a few the smaller index size will be of benefit to keep them in memory. A covering index may be of use as well though for rapidly changing statuses tuple visibility is going to be a challenge. In short, you seem to be providing a non-real situation and asking for advice that is situational in nature.