Hi,
I would not encode this information in watermarks. Watermarks are rather an internal mechanism to reason about event-time.
Flink also generates watermarks internally. This makes the behavior less predictive.
You could either inject special meta data records (which Flink handles just like other annotate each record with the meta data.
Flink 1.5.0 introduced Broadcast State [1] which can be used to apply rules to a full stream, e.g., to set meta data.
Best,
Fabian