The problem with using a default here is that if you ever add a new maxSizePolicy, you will never catch it because you are going to jump back to a default and will hide the failure.

I would do a switch case for all maxSizePolicies and the default will throw new IllegalSomethingException to indicate that we can't calculate a default here.