We investigate how efficiently a well-studied family of domination-type problems can be solved on bounded-treewidth graphs. For sets sigma, rho of non-negative integers, a (sigma, rho)-set of a graph G is a set S of vertices such that vertical bar N(u) boolean AND S vertical bar epsilon sigma for every u epsilon S, and vertical bar N (v) boolean AND S vertical bar epsilon rho for every v (sic) S. The problem of finding a (sigma, rho)-set (of a certain size) unifies standard problems such as Independent Set, Dominating Set, Independent Dominating Set, and many others. For all pairs of finite or cofinite sets (sigma, rho), we determine (under standard complexity assumptions) the best possible value c(sigma, rho) such that there is an algorithm that counts (sigma, rho)-sets in time c(sigma, rho)(tw) center dot n(O(1)) (if a tree decomposition of width tw is given in the input). Let s(top) denote the largest element of sigma if sigma is finite, or the largest missing integer +1 if sigma is cofinite; r(top) is defined analogously for rho Surprisingly, c(sigma, rho) is often significantly smaller than the natural bound stop + r(top) + 2 achieved by existing algorithms [van Rooij, 2020]. Toward defining c(sigma, rho), we say that (sigma, rho) is m-structured if there is a pair (alpha,beta) such that every integer in sigma equals alpha mod m, and every integer in rho equals beta mod m. Then, setting c(sigma, rho) = s(top) + r(top) + 2 if (sigma, rho) is not m-structured for any m >= 2, c(sigma,rho) = max{s(top), r(top)} + 2 if (sigma, rho) is 2-structured, but not m-structured for any m >= 3, and s(top) = r(top) is even, and c(sigma, rho) = max{s(top), r(top)} + 1, otherwise, we provide algorithms counting (sigma, rho)-sets in time c(sigma, rho)(tw) center dot n(O(1)). For example, for the Exact Independent Dominating Set problem (also known as Perfect Code) corresponding to sigma = {0} and rho = {1}, this improves the 3(tw) center dot n(O(1)) algorithm of van Rooij to 2(tw) center dot n(O(1)). Despite the unusually delicate definition of c(sigma, rho), we show that our algorithms are most likely optimal, i.e., for any pair (sigma, rho) of finite or cofinite sets where the problem is non-trivial, and any epsilon > 0, a (c(sigma,rho) - epsilon)(tw) center dot n(O(1)) algorithm counting the number of (sigma, rho)-sets would violate the Counting Strong Exponential-Time Hypothesis (#SETH). For finite sets sigma and rho, our lower bounds also extend to the decision version, showing that our algorithms are optimal in this setting as well. In contrast, for many cofinite sets, we show that further significant improvements for the decision and optimization versions are possible using the technique of representative sets.