You don't need to make separate loops for heating and cooling. The whole point of a common ground loop (where all heat pumps are connected to the same loop) is that the loop can provide simultaneously heating and cooling as required by the heat pump's zone loads. If a heat pump has a call for cooling, then there will be no flow through the heating coil of that heat pump. In reality, this heat pump will only have one water coil, but Energy Plus models a water source heat pump with two coils (I'm sure there's a calculation reason for this). If a single condenser loop is causing problems in your model (i.e., too high or too low loop temperatures), then your ground loop object may not be sized properly.
Edit: I'm not sure what you are trying to accomplish by having separate loops connected with heat exchangers. I run models all the time with a single ground loop connected to both heating and cooling coils of the heat pumps and have no problems. My recommendation is to have a single ground loop that is connected to the heating and cooling coils of the model's heat pumps. See below for a screenshot of a typical model I use. The coil I have highlighted is one of the heat pump's cooling coils. All of the heating coils for the heat pumps are located further down the diagram and are connected in parallel to the cooling coils. There is a single pump with no ground loop bypass, and the setpoint manager is of the "Follow Node Temperature" type, and it follows the node temperature immediately downstream of it (which is the temperature entering the heat pumps.