I currently store a bitmask to tell me if a rotation is cached, and an index which points to it - like this
db BitMask ; 1 bit per rotation. In MCM mode, ever other bit is unused.
ds 32 ; Raw Sprite Graphic
Now, before I changed everything to indexes, the bitmask made sense, as it was quicker to check than the address. But now.... All I need to do is load the rotation index data and see if its 0. This will save 167 bytes, and all the time I spend masking the rotation flags. It will also help me speed up the cache itself - a little.