The group identifier is always a number.
Technically, in specification terms, group identifiers have their own type, `gid_t`; but POSIX requires that -1 be a valid `gid_t`, which effectively means it has to represent numbers. (Historically, before `gid_t`, group identifiers were always numbers, so this couldn’t easily be changed anyway.)
In Linux, the `group` manual page specifies that the group identifier is a number.
In many contexts you _can_ use a group’s name, but ultimately what matters is the identifier. It’s also possible for multiple group names to share the same identifier (the mapping isn’t bijective).