OK I find an alternative solution.
I replace the optional by | undefined:
ReferentialEnum<{ color : string ; optional? : string }>
ReferentialEnum<{ color : string ; optional : string | undefined }>
I would have preferred to keep the :
ReferentialEnum<{ color : string ; optional? : string }>