function _transfer(address to, euint256 value) internal returns (ebool success) {
// we check that the user has enough balance, and assign the result to the ebool success
success = balanceOf[msg.sender].ge(value);
// we use the select statement to assign the value to be transferred
// if the the user has enough balance, we transfer the value
// otherwise we assign 0 to the transferred value
euint256 transferredValue = success.select(value, uint256(0).asEuint256());
// ... rest of the transfer logic
}