I don't think it's possible in Phoenix as it stands today. To support this use, enable_if
would have had to have been used on virtually every function call Phoenix makes in the eval call chain, at every level, even in the other libraries Phoenix depends on. I know Phoenix isn't written that way, and its hard to imagine that any amount of hacking on the code could make it so, before Phoenix, Proto, and all the libraries they depend on are rewritten in pure C++11. Even then, it would require great care that all potential errors appear in a SFINAE content.
I just don't see it happening, sorry.