I would use a second (virtual) footprint for that.
Why would i use a virtual footprint for the official lib?
It is much more flexible.
Just take the example of my phoenix connectors. For my personal lib it is ok that i generate a pcb connector/cable connector pair. but there are at least 5 different cable connectors that fit a specific pcb connector and vice versa. Either we have 5 real footprints for the pcb side plus 5 virtual footprints for their counter part.
Or we need one footprint for each possible combination. (A lot more than 10 footprints. I’m currently to tired to calculate the number of needed footprints for this example. I’m sure it grows at least as fast as n! if not as fast as n^n)