As implied by their names, "groups" make possible the grouping of data that are logically connected. Groups can be seen as a kind of data container, not completely unlike standard directories. At ISDC, we create separate groups for each pointing, in which we store the many different data types produced by INTEGRAL and its instruments. The user then only has to care about one file, the group, many tens of files being silently included. Several pointings (the "Science Window Groups") can be arbitrarily grouped into bigger groups (the "Observation Group") to select data very efficiently according to the user's needs.
Indices are a special kind of groups, which differ only in the fact that all the the data sets they contain are similar and that the indices know the properties of the data sets they contain. Indices are a kind of poor man's database. For example, an imaging program creates several images of different types (flux map, significance map,...) in different energy bands. These images are stored in an index, in which the image type and energy band information is replicated. ISDC software is then able to select very efficiently the needed images. The user can also make use of the indices; just by looking at the index (for instance using "fv"), the user can identify immediately the content of each image.