А я бы использовал битовую маску, тем более go прекрасно умеет с ними работать)
type Rights int64
const (
RightsAuth = 1 << iota // 1 << 0 which is 0000000000000001
RightsRegs // 1 << 1 which is 0000000000000010
RightsBattlesInvasion // 1 << 2 which is 0000000000000100
RightsBattlesSanctions // 1 << 3 which is 0000000000001000
RightsBattlesGround // 1 << 4 which is 0000000000010000
RightsMissionsLocation // 1 << 5 which is 0000000000100000
// ...
)
Вот здесь более подробный пример:
pastebin.com/jz6TZevq