Na página do bash man :
compgen [option] [word]
...
If word is specified, only those completions matching word will be displayed.
Você já está filtrando a lista com o grep, então, para obter o comportamento desejado, você pode simplesmente omitir o segundo argumento para o compgen, fazendo sua linha:
COMPREPLY=($(compgen -W "'git branch | grep $word'"))