IMO this is the wrong order. All constraints belong to the "Default" group first and foremost. "User" is just an alias for the constraints in the "Default" group of the `User` class. That means, for example:

```php
class User extends Person
{
    /**
     * @Assert\Valid
     * @Assert\Type("Acme\Address")
     */
    private $address;
}
```

* When I validate a `User` object in the "Default" group, all default constraints of both the `User` and the `Address` will be validated.
* When I validate it in the "User" group, only the default constraints of the `User` class (and superclasses) will be executed
* When I validate it in the "Address" group, only the default constraints of the `Address` class will be executed.
* When I validated it in the "Person" group, only the default constraints of the `Person` class (and superclasses) will be executed.