Hello! My name is Sergey (AnakinNN in OSM), currently I'm working on localizing of OpenRailwayMap signaling scheme for Russia. And there are some questions here.
 
1. Is it OK to use simple tag railway:signal:height=normal/dwarf instead of railway:signal:*:height ?
 
As I understand, category is needed because normal-height and dwarf signals can be found on one pole. For Russian railway network it's impossible situation - signals with different height are always separated. Instead there's a frequent case, when several signals of different types are combined together (having the same height). For example, at Mga station - https://ibb.co/n1HYWvx . If trying to use categorized variant of height tag, it should be set 4 times - so easy to make a mistake and to end up with inconsistent tags.
 
2. Russian signals & their states don't have special literal type references (like "Hp 3", "Zs 7", "clear", "approach limited" etc.) or form. But there are significant differences in the order of lights, which can't be found out unambiguously even knowing full set of all possible states. For example, main dwarf signal with states "red", "yellow", "green" and "white" can be one of two variants, both widely used - https://ibb.co/Sd6GRSt . For dwarf signal with states "red", "two yellows", "two yellows with the flashing upper one" and "white" I've personally seen at least 4 variants - https://ibb.co/wJwgHYQ (gray are the stub lights).
 
The question is: will it be correct to use proposed railway:signal:*:shape tag in order like railway:signal:main:shape=YRY-XBX (this corresponds to 2nd from the right signal in the last picture)? R, Y, G, B, W stand for coloured lights (red, yellow, green, blue, white), X for stub.
 
I also plan to use the similar notation for describing states. For example, railway:signal:main:states=R;YY;YfY;W ("YfY" means "yellow flashing, yellow" - two yellows with the flashing upper one).
 
Regards,
Sergey