Bon ça avance j'ai résolu le bug, j'avais dans mon EmailType un autre champ que je n'exploitais pas et c'est celui là qui me retournait l'erreur.
il me reste à gérer la suppression maintenant.
apparemment il faut coder à la main la suppression dans le manyToone
Doctrine: Ensuring the database persistence
When removing objects in this way, you may need to do a little bit more work to ensure that the relationship between the Task and the removed Tag is properly removed.
In Doctrine, you have two sides of the relationship: the owning side and the inverse side. Normally in this case you'll have a many-to-many relationship and the deleted tags will disappear and persist correctly (adding new tags also works effortlessly).
But if you have a one-to-many relationship or a many-to-many relationship with a mappedBy on the Task entity (meaning Task is the "inverse" side), you'll need to do more work for the removed tags to persist correctly.
In this case, you can modify the controller to remove the relationship on the removed tag. This assumes that you have some editAction which is handling the "update" of your Task: