If you modify your
wind_dir
variable to
$wind_dir = group(
capsule(0, 22.5).setProperty('Value', 'ENUM{{0|N}}'),
capsule(22.5, 67.5).setProperty('Value', 'ENUM{{1|NE}}'),
capsule(67.5, 112.5).setProperty('Value', 'ENUM{{2|E}}'),
capsule(112.5, 158.5).setProperty('Value', 'ENUM{{3|SE}}'),
capsule(158.5, 202.5).setProperty('Value', 'ENUM{{4|S}}'),
capsule(202.5, 247.5).setProperty('Value', 'ENUM{{5|SW}}'),
capsule(247.5, 292.5).setProperty('Value', 'ENUM{{6|W}}'),
capsule(292.5, 337.5).setProperty('Value', 'ENUM{{7|NW}}'),
capsule(337.5, 360).setProperty('Value', 'ENUM{{8|N}}')
)
You will get an ordered Y axis:
This is how Seeq handles enum Signal values from other systems - it has some limitations, but it seems like it should work well for your use case.