Overiding bonded parameters from ffbonded.itp by explicitly specifying in residue.rtp

GROMACS version: 2018.6
GROMACS modification: Yes

Hi Gromacs community, I have a question relating to the modification to a residue.rtp and want to clarify with the experts here. I am familiar with the fact that when I run pdb2gmx for a PDB file containing ACE-GLY-NME, gromacs will read amino acids.rtp to prepare a topology for my molecule. For glycine, its .rtp can look something like this:

[ bondedtypes ]  ; mandatory
; bonds  angles  dihedrals  impropers
     1       1          1          2  ; mandatory

[ GLY ]  ; mandatory

 [ atoms ]  ; mandatory 
; name  type  charge  chargegroup       
     N     N  -0.280     0
     H     H   0.280     0
    CA   CH2   0.000     1
     C     C   0.380     2
     O     O  -0.380     2

 [ bonds ]  ; optional
;atom1 atom2
     N     H
     N    CA
    CA     C
     C     O
    -C     N
 [ impropers ]  ; optional
;atom1 atom2 atom3 atom4
     N    -C    CA     H
    -C   -CA     N    -O

Now let’s say I have a set of new bonded parameters that I only want to apply specific to glycine and not to any other amino acids, I can explicitly add the new bonded parameters like the below:

[ bondedtypes ]  ; mandatory
; bonds  angles  dihedrals  impropers
     1       1          1          2  ; mandatory

[ GLY ]  ; mandatory

 [ atoms ]  ; mandatory 
; name  type  charge  chargegroup       
     N     N  -0.280     0
     H     H   0.280     0
    CA   CH2   0.000     1
     C     C   0.380     2
     O     O  -0.380     2

 [ bonds ]  ; optional
;atom1 atom2      b0      kb
     N     H             0.123    123456.7
     N    CA
    CA     C
     C     O             0.123    123456.7
    -C     N
 [ angles ]  ; optional
;atom1 atom2 atom3    th0    cth
N  CA  C              123.456   123.456 
CA   C   O            123.456   123.456 
 [ dihedrals ]  ; optional
;atom1 atom2 atom3 atom4   phi0     cp   mult
N   CA   C   O                          0.0      1.23456     3
N   CA   C   O                      180.0      2.34567     2
N   CA   C   O                          0.0      3.45678     1

 [ impropers ]  ; optional
;atom1 atom2 atom3 atom4     q0     cq
     N    -C    CA     H           180.00     43.93200     2
    -C   -CA     N    -O          180.00       4.60240     2

My question is then: how does gromacs know which functional type to assign for these overwritten parameters to use (say, bond and angle are functype 1, dihedral are functype 9, and improper is functype 4) if I don’t specify it here? Unless, I can also explicitly specify the functional type for each bonded category here. If so, do I follow the same format as listed in ffbonded.itp?

Thank you very much for reading my messages!