Sir, I cannot zap you. This comment is highly zap worthy.
I have also been looking for ways to swap coinbase outputs for other outputs. Apparently covenants are a no go because tx introspection across outputs not covered by the script being executed is more powerful than any proposal on offer.
Two other ideas are coinswaps or DLCs.
If we lock a coinbase output to a 2-of-2 script that would cover the initial staging tx. I think it would require one more tx after that to complete transfer of ownership. This creates a natural 100 block baking period for the contract. Maybe useful, maybe problematic. Still thinking on it.
DLCs are very intriguing because we can also lock up ecash in a DLC. I think this is the most promising idea at the moment because it blurs the line between on-chain and ecash anon sets.