```python
def row_key(name: str) -> str:
    return name[0].upper()

def index_rows(names: list) -> dict:
    if not names:
        return {}
    
    index = {}
    for i, name in enumerate(names):
        key = row_key(name)
        if key not in index:
            index[key] = []
        index[key].append((i + 1, name))
    
    return index
```