You cannot use a context manager to 'skip' code blocks, that is what conditional are for. All a context manager can do is hook in to the block enter and exit signals, not control if the block is entered in the first place.
I'd use:
special_cat = cats.get("george")
if special_cat is not None:
# do something with special_cat
This has the advantage of being readable and simple. Any shenanigans with generators or context managers would increase the surprise for new maintainers of your code. And remember: you are a new maintainer after a year or two away from a codebase too.