OK, I need to understand the implementation of the cache better. I was led down the wrong path slightly as we're using the term "flags" but the underlying type is an enum. I my experience "flags" tends to imply you can OR them together.