Hmm, if you think the single master case is important, how about requiring a non-empty `shared_cache.name` as the indicator that a shared cache is enabled?  I'd feel more comfortable with an error message that says "shared cache configuration requires a pool name" than just saying "you forgot to set enabled=true".