One way to do that is to execute Shift-A / Add > Group Instance > [group name] to instance the group as a single object. Though it's basically an Empty, so we can't put an Array modifier on it, we can still Alt-D on the instance to create linked-duplicates.
Edit: For a more automated tool, we do need some basic scripting. I've written a short operator to do just that. Here's the key part:
for count in count_product:
loc = center + Vector([count[0] * self.offset[0],
count[1] * self.offset[1],
count[2] * self.offset[2]])
dup_obj = bpy.data.objects.new(group.name + '_array.000', None)
dup_obj.location = loc
dup_obj.dupli_type = 'GROUP'
dup_obj.dupli_group = group
context.scene.objects.link(dup_obj)
It just creates an array of group instances along three axis: