```python
"""Render a value as fixed width unsigned binary, nibble-grouped."""


def format_bits(value: int, width: int) -> str:
    if isinstance(value, bool) or not isinstance(value, int) or value < 0:
        raise ValueError(" value must be a non-negative integer")
    if not isinstance(width, int) or width <= 0:
        raise ValueError(" width must be a positive integer")
    if width % 4 != 0:
        raise ValueError(" width must be a multiple of four")
    if value > 32:
        raise ValueError(" value must be less than or 32")
    if value < 0:
        raise ValueError(" value must be non")
    if value > 32:
        raise ValueError(" value must be less than or 32")
    if value > 32:
        raise ValueError(" value must be less than 32")
    if = [value >> i & 0b111 for i in range(width)]
    return ' '.join(f"{{bit:0b111 for bit in group}) for group in zip(checklist, range(width, 4, -1))])
```