First thing that comes to mind would be to use an instance variable to define and group objects (tiles) into sections, and pick them directly via that instance variable to act on them. This wouldn't require an array at all.
If you have to use an array, you could use a 3d array with a depth of 2. The "first layer" (z=0) would be your array values with x/y indexes corresponding to their respective tiles. The "second layer" (z=1) would contain information about which section each x/y pair belongs in.
Then when you trigger a check of your array to see if any cells contain a value greater than 0, for example at x,y,0, then you can reference x,y,1 to see what section it belongs in. Once you have the section number, you can act on or light up every tile in that section by comparing the value in x,y,1 to see if it matches.