I don't know what's included in ISE, but in Vivado there are basically two Ethernet IPs - the one for 10/100 Mbps, another is TriMAC for 10/100/1000 Mbps. There are also IPs for 10G and above, but I haven't personally used them, so I can't say much except for the fact that they are also paid IP. Only first of those is free to use, another requires a license for production use (trial versions stop working after some time). A choice of IP to use depends on the hardware on your board, so you can't mix & match them as you like, because each standard uses different protocol to talk to the PHY chip. So essentially you pre-select which IP you will have to use when you purchase or design a board.
It's also possible to not use any of those cores at all, and design your own core instead. It's not a very complex task, because MAC doesn't actually do all that much in the OSI model, though it does require studying 802.3 standard to understand the role of MAC in the IP stack. It's supposed to assemble packets, calculate a checksum and send it off to PHY chip via one of PHY protocols (MII/RMII/GMII/RGMII/SGMII/QSGMII), also receive packets, check the checksum, optionally see if it's addressed to your host, and then pass it along to a higher layer. Typically this core is either going to use it's own internal buffers for sending and receiving packets (like EthernetLite), or stream packets via some kind of streaming protocol, with these stream typically utilizing DMA IP to actually read from/write to the memory (this is how TriMAC IP works).
As for whether it's possible to implement it without a softcore - of course it is, but I think that utilizing a Microblaze softcore is the easiest and fastest way to get the project off the ground.