파일 매니저를 구현하고 계시는 것 같군요..
말씀하신 구현대로 방안을 말씀드리면.. 사진마다 폴더를 가져오면, 그 폴더를 Set<String>에 입력을 하시고요. 그 Set을 기준으로 다시 Map<key, List<>>의 구조로, 폴더에 해당하는 이미지를 구성하시면 쉽게 처리하실 수 있습니다. 그리고, 폴더를 리스트뷰로 뿌리시면, MediaStore와 불일치(언제 DB 스캔이 일어날지 모름, 그리고 파일 처리 앱들이 파일 다운로드시에 스캔 요청 하지 않는 경우가 대부분) 때문에.. FileFilter를 사용해서 이미지만 리스트에 추가하는 형태로 구현(현재 상태를 정확하게 목록화)했습니다.
아래의 파일 매니저를 구현하면서, 저도 비슷한 고민을 했었습니다.
https://play.google.com/store/apps/details?id=net.sjava.file