I was wondering how can a user in a group access a file made by a different user

Permissions can be set for a group. Two users will have access if they are a member of the group. Thus, in your example, make "bob" also member of the "red" group. If it is not desired that "bob" has access to all files of the "red" group", then create a dedicated group for this specific project, and add all users that need access to the files of that project to this group.