I don't really understand where you are getting stuck.
I think you could use two nested repeat regions and move the reocrdset that returns the photos inside the recordset that shows the heading and filter it.
Your first recordset would be SELECT DISTINCT photos_description
Then apply a repeat region to display the descriptions. Add a photos recordset inside that repeat region and filter the photos returned by the description field to show all the images with that description. You can apply the repeat region for the photos under the description header.