Hi
1- use the â€ścollection infoâ€ť node to enter a collection in a GN tree.

2- here I have 2 collections one has 3 red round things the other 3 blue cube-ish things
I separate the points of the grid randomly and use the selection to instance one collection (randomly) on the points and the inverted selection to do the same with the other collection.
There are probably other ways to do it.

Edit:
The range of the random objects in each collection depends on the amount of objects in each collection in this case 0, 1 or 2

Edit 2: sorry the random node for the grid point selection could simply be 0-1 ( yes or no )
If you increase the max or decrease the min it will bias the selection.

Edit 3

I have just realised that you probably want to distribute the objects randomly on the faces instead of evenly on the points of the mesh. In which case you can use the distribute points on faces node.

Wasnâ€™t sure where to put the geometry nodesâ€¦ as it is, I found I can create Node arrangement attached to a cube, for example, and simply hide the cube.

With this first setup there should always be one random object on every point/vertex of the grid.

The second setup distributes objects randomly on faces with a density factor and there will be some spaces with lower values, the higher the density factor the more objects and less spaces there will be.
When using random distribution on faces you will find that some objects will overlap. This is not so easy to avoid you could take a look at this thread:

There has also been talk about this overlapping in the (huge) GN node thread, unfortunately the information is randomly spread on that thread and it is not so easy to follow.

GN node are fun, I am only scratching the surface myself, at first they were very â€śdauntingâ€ť but little by little I am trying to get the concepts together.
I always recommend Erindaleâ€™s channel on you tube for node things, he is really good at explaining things.