Generating coverpoint of individual array elements and then cross of these coverpoints

If you only want to cross a particular value of a variable, then define a coverpoint that only has a bin for that value, and use that in the cross instead of the variable

y1: coverpoint y { bins set = {1}; }
ele1 : coverpoint type[1] { bins set = {1}; } /BTW type is a keyword
yXele1: cross y1, ele1;

You many not want to use a cross at all in this situation, a simple covergroup expression would work

yXele1: coverpoint y && type[1] {bins set = {1};}

Also take a look at my blog post for additional ideas: Get Ready for SystemVerilog 2012 - Verification Horizons