Structural tractability of enumerating CSP solutions