I wrote "in theory". If the scripts are not truly Turing complete, then it is possible the core protocol has some limitations which would preclude implementing certain features. Whether or not Z.cash can or can not be implemented in Ethereum's scripting model is unknown since Ethereum has not been finalized.
Just remember, "Ethereum can do anything because it has scripting". 80/20. Remain focused. Buy the dips.
The core protocol contains the functionality to transfer ether; you cannot rewrite that from the EVM, which you would need to do to add anonymity.