I think where is telling this priority is demo-signal.lua from vanilla game:
{
type = "virtual-signal",
name = "signal-red",
icon = "base/graphics/icons/signal/signal_red.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[1red]"
},
{
type = "virtual-signal",
name = "signal-green",
icon = "base/graphics/icons/signal/signal_green.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[2green]"
},
{
type = "virtual-signal",
name = "signal-blue",
icon = "base/graphics/icons/signal/signal_blue.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[3blue]"
},
{
type = "virtual-signal",
name = "signal-yellow",
icon = "base/graphics/icons/signal/signal_yellow.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[4yellow]"
},
{
type = "virtual-signal",
name = "signal-pink",
icon = "base/graphics/icons/signal/signal_pink.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[5pink]"
},
{
type = "virtual-signal",
name = "signal-cyan",
icon = "base/graphics/icons/signal/signal_cyan.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[6cyan]"
},
{
type = "virtual-signal",
name = "signal-white",
icon = "base/graphics/icons/signal/signal_white.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[7white]"
},
{
type = "virtual-signal",
name = "signal-grey",
icon = "base/graphics/icons/signal/signal_grey.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[8grey]"
},
{
type = "virtual-signal",
name = "signal-black",
icon = "base/graphics/icons/signal/signal_black.png",
icon_size = 32,
subgroup = "virtual-signal-color",
order = "d[colors]-[9black]"