The Romans rated their navy very low. Service was much longer, pay was a lot less. Even so, an admiral rated definitely higher than a mere tribunus angusticlavius. In modern terms he would be a junior captain or major, akin to a staff officer. So the order would be: The tribune rates lowest. The admiral comes next. The legatus is a Roman general, so he outranks them both. Top is the promagistrate, who has been (or is) a legatus, and outranks any other general within his province. He is the emperor's representative in the province and outranks anyone always. I assume that this promagistrate is the governor. It's not impossible that lower offices were given promagistrate status for some reason, but that was not common.
Theoretically the legate and the admiral could be equal in rank, but the army outranks the navy any time of the day (and year). A tribunus angusticlavius is a young man, probably of the equestrian class, assigned as an officer to a legion. A tribunus laticlavius would outrank him based on status (they were of the senatorial class), age (at least 10 years older) and position (they were second in command of a legion, with lots of military experience). Sometimes, in particular Egypt and Judea, a tribunus laticlavius was in command of a legion, as in Egypt senators were not allowed entry without explicit permission of the emperor, and in Judea because the governor there was a prefect, not a procurator.
But the tribune of the broad stripe is managing the legion as his boss is at the games in this question.
There is also the tribunus plebis, but this was not a military function. It was a purely civilian political function, held at that time by the emperors.
A tribunus angusticlavius wore a narrow stripe on his tunic, his superior the tribunus laticavius a broad stripe.